1. Field of the Invention
The present invention relates to recovery techniques for information processing apparatuses. More specifically, the present invention relates to a recovery technique for an embedded-system-specific information processing apparatus for, when a fault occurs in a built-in hard disk of the information processing apparatus, allowing the information processing apparatus to appropriately switch over the system to recover from the fault.
2. Description of the Related Art
Typical storage devices of embedded systems include compact disk read only memories (CD-ROMs), flash memories, and hard disk drives (HDDs). In fields that require large-capacity storage devices, large-capacity flash memories have recently been employed in some cases. In most cases, however, due to the expensiveness of the flash memories and other reasons, hard disks have been employed. However, hard disks have serious environmental issues and a high fault rate due to the manner that they are used. In order to address faults in built-in hard disks of information processing apparatuses, it is common to provide a redundant array of hard disks to improve hard-disk reliability. For example, a multiple-hard-disk configuration, such as a dual-hard-disk configuration, is used.
Japanese Patent Application Laid-Open No. 2002-215399 discloses a computer system pertaining to an exemplary information processing apparatus that recovers, when a hard disk fault occurs, from the fault.
The computer system disclosed in this publication includes a plurality of rebootable disk drives including an HDD. When a fault occurs, one of the normally operating disk drives that has the next highest boot priority after the disk drive that has developed the fault is selected to boot up an operating system (OS) stored in the selected disk drive.
Redundant arrays of independent disks (RAID), in particular, RAID-1 or RAID-5, are used for typical redundant-hard-disk systems.
RAID is a technique for managing a collection of hard disks as a single hard disk. RAID is implemented in either software preset in an OS or the like (hereinafter referred to as “software RAID”) or dedicated RAID hardware (hereinafter referred to as “hardware RAID”). In software RAID implementations, the RAID overhead on a disk I/O (Input/Output) mechanism is generally considerable. In server systems or the like, therefore, it is common to use a hardware RAID controller or the like that provides various hardware RAID implementations.
In a RAID, a combination of techniques, such as striping, mirroring, parity checking, and error checking and correction (ECC), is used. In striping, data is distributed and written to or read from a plurality of drives. In mirroring, the same data is written to a plurality of drives. Parity checking is a method for detecting data errors, and error checking and correction (ECC) is a technique for detecting and correcting errors.
RAID-1 is a technique in which the same data is written to a plurality of disks using mirroring so that if one of the disks fails, another disk will continue the processing, thereby increasing the fault tolerance. RAID-1 is typically implemented using two hard disks.
In RAID-1, if a hard disk fault occurs, the following problem arises. In RAID-1, when a hard disk fails, the hard disk is logically removed from the system, and a maintenance engineer who is informed of the fault then replaces the failed hard disk. The cost of the engineer and so forth are involved with the replacement of the hard disk.
RAID-5 is a technique in which data and parity information are recorded on a plurality of hard disks to increase the fault tolerance. When data is recorded on a hard disk, parity information generated from the data and the remaining data are distributed and written to a plurality of hard disks using striping. With this technique, if one of the hard disks fails and data is corrupted, the corrupted data is recovered from the remaining data and the parity information. Only one disk is required for the parity, thus achieving more efficient use of disk regions than mirroring.
However, due to the multiple-hard-disk configuration, RAID-5 has a problem of increasing the size and cost of the entire apparatus. Therefore, RAID-5 is not suitable particularly for embedded-system-specific information processing apparatuses.
Accordingly, the RAID techniques and the computer system disclosed in the aforementioned publication experience problems regarding the cost of maintenance engineers, the increased size of the entire apparatus, and so forth.